<Explanation of CD Separation Type Network>
A CD (C: control plane/D: data plane) separation type network is proposed which controls a node apparatus (data plane) by an external control system (control plane), as one of control systems of the network system.
As an example of the CD separation type network, an open flow network is exemplified which uses an open flow (OpenFlow) technique which carries out a route control of the network by controlling switches by a controller. The detail of the open flow technique is described in Non-Patent Literature 1 (OpenFlow Switch Specification Version 1.1.0). Note that the open flow network is only an example.
<Explanation of Open Flow Network>
In the open flow network, an open flow controller (OFC: OpenFlow Controller) controls the conduct of an open flow switch (OFS: OpenFlow Switch) by operating a flow table of the switch. The controller and the switch are connected by a secure channel which is used to control the switch by the controller with an open flow message (OpenFlow Message) as a control message conformed to an open flow protocol.
Hereinafter, for the simplification of description, the open flow controller (OFC) is referred to as a “controller (OFC)” and an open flow switch (OFS) is referred to as a “switch (OFS)”. Also, the network of the controller and the switches which are connected by the secure channels is called a “secure channel network”.
The switches (OFSs) configure the open flow network and each of the switches (OFS) is an edge switch or a core switch under the control of the controller (OFC). A series of packets from the reception of a packet in the edge switch on an input side to the transmission of the packet in the edge switch on an output side is called a flow in the open flow network.
The packet may be read as a frame. A difference between the packet and the frame is only a difference of the unit of data (PDU: Protocol Data Unit) handled by the protocol. The packet is a PDU of “TCP/IP” (Transmission Control Protocol/Internet Protocol). On the other hand, the frame is a PDU of the “Ethernet” (registered trademark).
The flow table is a table in which a flow entry defining a predetermined operation (action) to be carried out to a packet (communication data) which satisfies a predetermined match condition (rule) is registered.
The rule of the flow entry is defined based on various combinations of all or part of a destination address (dst), a source address (src), a destination port, and a source port, which are contained in a header region of each protocol hierarchy of the packet, and is identifiable. Note that the addresses contain a MAC (Media Access Control) address and an IP (Internet Protocol) address. Also, in addition to the above data, data of an input port (Ingress Port) is usable for the rule of the flow entry. Also, as the rule of the flow entry, a normal expression and an expression using wildcard “*” of a part (or all) of a value of the header region of the packet showing a flow may be set.
The action of the flow entry shows one of operations such as “outputting to a specific port”, “discarding”, or “rewriting a header”. For example, if identification data of the output port (output port number and so on) is shown in the action of the flow entry, the switch (OFS) outputs a packet corresponding to this to the port, and if no identification data of the output port is not shown, the packet is discarded. Or, if the header data is shown in the action of the flow entry, the switch (OFS) rewrites the header of the packet based on the header data.
The switch (OFS) executes the action of the flow entry to a packet group (a packet sequence) which complies with the rule of the flow entry.
Note that in the open flow network, the controller (OFC) holds a copy of the flow entry on the switch (OFS) side to grasp and manage the flow entry on the switch (OFS) side. For example, the controller (OFC) holds the same flow table as that of the switch (OFS).
<Present Situation of Topology Detection in Open Flow Network>
In the open flow network, the controller (OFC) uses topology discovery protocol such as LLDP (Link Layer Discovery Protocol) and OFDP (OpenFlow Discovery Protocol) to collect connection data between neighbor switches (OFSs). Note that OFDP is the topology detection protocol in the open flow network for the extended LLDP.
Also, the controller (OFC) detects the topology of the whole open flow network based on the collected connection data between the neighbor switches (OFSs). As an example of the topology of the whole open flow network, the connection data between switches (OFSs) and data of the port for the connection and so on are exemplified.
The controller (OFC) realizes communication in the open flow network by setting an appropriate flow entry to an interconnection port between switches (OFSs) and a connection port of each switch (OFS) and a communication terminal unit (host) based on the detected connection data of switches (OFSs).
Moreover, in order to detect a failure except for a link down between the interconnection ports during the operation, the controller (OFC) instructs each switch (OFS) to regularly transmit a topology discovery packet (TDP) in LLDP and OFDP.
Each switch (OFS) transmits a port status message (PSM) to the controller (OFC).
The controller (OFC) receives a notice of the port status message (PSM) transmitted from each switch (OFS). Thus, the controller can detect the failure of the link down in case of occurrence of the failure of the link down between the interconnection ports.
As above, the controller (OFC) holds and updates the detected open flow network topology.
<Procedure of Detection and Maintenance of Topology in Existing Open Flow Network>
Referring to FIG. 1, the procedure of the topology detection and maintenance in the existing open flow network will be described.
For simplification of the description, an example of the open flow network which is configured from one controller (OFC) and two switches (OFS) will be described.
The existing open flow network contains a controller (OFC) 10 and a switch (OFS) 20-1 and a switch (OFS) 20-2.
The controller (OFC) 10 is connected with the switch (OFS) 20-1 and the switch (OFS) 20-2 through a secure channel network 100. A control signal between the controller (OFC) and the switch (OFS) is transmitted through the secure channel network 100. One of the control signals is an open flow message.
The controller (OFC) 10 stores a topology discovery packet (TDP) 30-2 in a packet-out message (POM) 30-1 and transmits the packet-out message (POM) 30-1 to the switch (OFS) 20-1 through the secure channel network 100. Note that the packet-out message (POM) 30-1 is one of the open flow messages.
The switch (OFS) 20-1 is provided with a connection port 21-1, and the switch (OFS) 20-2 is provided with a connection port 21-2. The connection port 21-1 and the connection port 21-2 are connection ports between the switches (OFSs). The connection port 21-1 and the connection port 21-2 connect the switch (OFS) 20-1 and the switch (OFS) 20-2.
The switch (OFS) 20-1 acquires the topology discovery packet (TDP) 30-2 stored in the packet-out message (POM) 30-1 and transmits the topology discovery packet (TDP) 30-2 to the connection port 21-1.
The topology discovery packet (TDP) 30-2 reaches the connection port 21-2 of the switch (OFS) 20-2 from the connection port 21-1 of the switch (OFS) 20-1.
The switch (OFS) 20-2 stores the received topology discovery packet (TDP) 30-2 in a packet-in message (PIM) 30-3 and transmits the packet-in message (PIM) 30-3 to the controller (OFC) 10 through the secure channel network 100. Note that the packet-in message (PIM) 30-3 is one of the open flow messages.
A specific process will be described below.
<Initial Setting Processing>
First, an initial setting processing to be executed before the start of topology detection processing will be described.
The controller (OFC) 10 sets a flow entry for the topology discovery packet (TDP) to each switch (OFS).
The controller (OFC) 10 specifies a match value (MV) to which the topology discovery packet (TDP) 30-2 matches, in a match field (MF) of this flow entry. That is, the match value (MV) of the match field (MF) becomes a rule of the flow entry.
The controller (OFC) 10 specifies an action of “transmit a packet-in message (PIM) of a topology discovery packet (TDP) to the controller (OFC) 10” in an action field (AF) of this flow entry. That is, the action in the action field (AF) becomes the action of the flow entry.
Therefore, each switch (OFS) transmits the packet-in message (PIM) 30-3 of the topology discovery packet (TDP) 30-2 to the controller (OFC) 10 when the received topology discovery packet (TDP) 30-2 matches the above-mentioned flow entry.
At this time, each switch (OFS) stores the topology discovery packet (TDP) 30-2 in a data field (DF) of the packet-in message (PIM) 30-3.
Also, each switch (OFS) stores a “DPID” (Delivery Point Identifier) and a “Port” of this switch (OFS) in the packet-in message (PIM) 30-3.
The “DPID” is an identifier data of the switch (OFS).
In this case, the “DPID” of the switch (OFS) 20-1 is supposed to be “OFS1-DPID”. Also, the “DPID” of the switch (OFS) 20-2 is supposed to be “OFS2-DPID”.
The “Port” is identifier data of the connection port of the switch (OFS).
In this case, the “Port” of the connection port 21-1 of the switch (OFS) 20-1 is supposed to be “Port1”. Also, the “Port” of the connection port 21-2 of the switch (OFS) 20-2 is supposed to be “Port2”.
<Topology Detection Processing>
Next, the topology detection processing which is executed after the initial setting processing completes will be described.
After the initial setting processing completes, the controller (OFC) 10 transmits the packet-out message (POM) 30-1 of the topology discovery packet (TDP) 30-2 as the open flow message to the port linked with each switch (OFS), through the secure channel network.
At this time, the controller (OFC) 10 specifies the action of “transmit the topology discovery packet (TDP) from the port linked” in the action field (AF) of the packet-out message (POM) 30-1 to be transmitted.
Also, the controller (OFC) 10 specifies “DPID” and “Port” of the switch (OFS) as a destination of the packet-out message (POM) 30-1 and as a source of the topology discovery packet (TDP) 30-2 for the topology discovery packet (TDP) 30-2.
In an example of FIG. 1, the switch (OFS) 20-1 is the destination of the packet-out message (POM) 30-1 and a switch (OFS) is the source of the topology discovery packet (TDP) 30-2.
Therefore, the controller (OFC) 10 transmits the packet-out message (POM) 30-1 of the topology discovery packet (TDP) 30-2 to the switch (OFS) 20-1.
At this time, the controller (OFC) 10 stores the topology discovery packet (TDP) 30-2 in the data field (DF) of the packet-out message (POM) 30-1.
Also, the controller (OFC) 10 specifies that the phrase of “transmits the topology discovery packet (TDP) 30-2 from the connection port 21-1 of the switch (OFS) 20-1” as an action in the action field (AF) of the packet-out message (POM) 30-1.
Also, the controller (OFC) 10 stores “OFS1-DPID” and “Port1” in the topology discovery packet (TDP) 30-2 as “DPID” and “Port” of the switch (OFS) 20-1. “OFS1-DPID” is identifier data of the switch (OFS) 20-1. The switch (OFS) 20-1 is a switch (OFS) as the source of the topology discovery packet (TDP) 30-2. “Port1” is identifier data of the connection port 21-1. The connection port 21-1 is a transmission port of the topology discovery packet (TDP) 30-2.
The switch (OFS) 20-1 receives the above-mentioned packet-out message (POM) 30-1 from the controller (OFC) 10.
The switch (OFS) 20-1 acquires the topology discovery packet (TDP) 30-2 stored in the data field (DF) of the packet-out message (POM) 30-1.
The switch (OFS) 20-1 transmits the topology discovery packet (TDP) 30-2 from the connection port 21-1 based on the action specified in the action field (AF) of the packet-out message (POM) 30-1.
As shown in FIG. 1, the connection port 21-1 of the switch (OFS) 20-1 is connected with the connection port 21-2 of the switch (OFS) 20-2. Therefore, the topology discovery packet (TDP) 30-2 which has been transmitted from the port 21-1 of the switch (OFS) 20-1 reaches the connection port 21-2 of the switch (OFS) 20-2.
The switch (OFS) 20-2 receives the topology discovery packet (TDP) 30-2 by the connection port 21-2.
The switch (OFS) 20-2 transmits a packet-in message (PIM) 30-3 of the topology discovery packet (TDP) 30-2 to the controller (OFC) 10 when the received topology discovery packet (TDP) 30-2 matches the flow entry set in an initial setting process.
At this time, the switch (OFS) 20-2 stores “OFS2-DPID” and “Port2” in the packet-in message (PIM) 30-3 as “DPID” and “Port” of the switch (OFS) 20-2. “OFS2-DPID” is identifier data of the switch (OFS) 20-2. The switch (OFS) 20-2 is a switch (OFS) as a source of the packet-in message (PIM) 30-3. “Port2” is identifier data of the connection port 21-2. The connection port 21-2 is a reception port of the topology discovery packet (TDP) 30-2.
Also, the switch (OFS) 20-2 stores the topology discovery packet (TDP) 30-2 in the data field (DF) of the packet-in message (PIM) 30-3.
The controller (OFC) 10 receives the above-mentioned packet-in message (PIM) 30-3.
The controller (OFC) 10 acquires “OFS2-DPID” and “Port2” of the switch (OFS) 20-2 as the source stored in this packet-in message (PIM) 30-3.
Also, the controller (OFC) 10 acquires the topology discovery packet (TDP) 30-2 stored in the data field (DF) of this packet-in message (PIM) 30-3, and acquires “OFS1-DPID” and “Port1” of the switch (OFS) 20-1 stored in the topology discovery packet (TDP) 30-2.
Thus, the controller (OFC) 10 detects that the connection port 21-1 of the switch (OFS) 20-1 has been connected with the connection port 21-2 of the switch (OFS) 20-2.
Also, the controller (OFC) 10 detects that the connection port 21-2 of the switch (OFS) 20-2 has been connected with the connection port 21-1 of the switch (OFS) 20-1 by flowing the topology discovery packet (TDP) 30-2 in a reverse direction in a mechanism similar to the above mechanism.
Moreover, the controller (OFC) 10 uses the above-mentioned topology discovery packet (TDP) 30-2 and the above-mentioned mechanism at a constant interval/number of times of retry during the operation, to maintain and update the detected topology.
Note that the specification of the DPID, the packet-in message (PIM) 30-3, the packet-out message (POM) 30-1, and the flow entry is prescribed in Non-Patent Literature 1 (OpenFlow Switch Specification Version 1.1.0).
<Problems in Maintenance and Updating of Detected Topology>
The procedure of the detection and maintenance of the topology in the above-mentioned existing open flow network is useful for initial detection of the topology in the open flow network but there are the following problems (1)-(3) in case of the maintenance and updating of the detected topology.
(1) The load to the secure channel network increases.
The controller (OFC) needs to transmit a topology discovery packet (TDP) onto the secure channel network regularly to the ports linked all the links of each switch (OFS) to maintain and update the detected topology.
Also, each switch (OFS) needs to transmit the received topology discovery packet (TDP) to the controller (OFC) through the secure channel network.
To maintain and update one bidirectional connection relation, four topology discovery packets (TDP) flow on the secure channel network to once topology scan.
(2) Because the controller (OFC) scan method is used to maintain and update the detected topology, it takes time to detect the change when there is a topology change.
The timing when detecting the topology change depends on an interval time during which the controller (OFC) outputs the topology discovery packet (TDP) during the operation and a reply timeout of the topology discovery packet (TDP) from the switch (OFS).
Although it is possible to detect the topology change more quickly if the interval time and the reply timeout are shorter, the load to the switches (OFSs) on the secure channel network increases, so that a risk increases that a not-occurring topology change is erroneously detected.
(3) Many existing switches (OFS) are realized by implementing the firmware corresponding to the open flow technique in conventional legacy switches.
For example, the switch (OFS) is realized in software by using a general-purpose processor of the conventional legacy switch to a processing part except for the processing part of “searching a flow entry to which a packet matches and processing the packet according to an action specified in the matched flow entry” in the processing of the open flow message.
Because the resource of the general-purpose processor is very limited, there is a great possibility that the processing of the open flow message is delayed or the open flow message itself is lost due to a lack of the resource for calculation, if the load (read load) of the open flow message to be processed increases.
For this reason, in the open flow network using such a switch (OFS), there is a great possibility that the controller (OFC) erroneously detects a not-occurring topology change so that the system falls down into a non-communicable state, if the topology detection and maintenance in the above existing open flow network is used.
As a related technique, a routing bridge system is disclosed in Patent Literature 1 (JP 2003-143169A). In this routing bridge system, a transmission route of data is determined by using an address of a data link layer of a ring network, in which a plurality of nodes are connected in a ring through a plurality of connection nodes. Each node is provided with a node tree producing section which produces a spanning tree between the nodes on the ring to which it belongs. Each connection node is provided with a node tree producing section which produces a spanning tree between the nodes on the ring to which it belongs, and an inter-ring tree producing section which produces an inter-ring spanning tree between the rings which are regarded as a logical link.
Also, a method of determining a connection topology of a home network is disclosed in Patent Literature 2 (JP 2006-340361A). The method of determining the connection topology of the home network can determine the connection topology of the home network which includes a multiple hub and a plurality of nodes disposed around a switch. This method has a step of transmitting topology determination messages one by one in a random sequence by the plurality of nodes, determining all the connection topologies one by one based on the reception of the topology determination message, and generating and updating a list of local nodes for all the local nodes. The topology determination message contains two continuing packets. A first packet is a broadcast packet which has a previously set payload which distinguishes it from the topology determination packet. The second packet is a unicast packet which has a same content and a non-existing destination MAC address.
Also, a method of detecting a topology to detect a logic topology of the network is disclosed in Patent Literature 3 (JP 2008-172449A). In this related technique, a communication unit records transfer data in which a port number and a source MAC (Media Access Control) address correspond to. Each time TTL (time to live) is increased one by one from “1”, a management unit transmits to the communication unit, a trace request which contains the TTL. Next, the communication unit returns a trace response containing the transfer data to the management unit in response to a trace request of TTL=1. Then, the management unit acquires the transfer data from the received trace response and derives a port topology in a unit topology of the network.
Also, a configuration and optimization of a radio mesh-type network are disclosed in Patent Literature 4 (JP 2009-111976A). In this related technique, a network design tool provides a conversation-type graphic interface for addition, removal and positioning of a node and an equipment in the radio network, and a menu which contains a plurality of conversational-type screens to specify a threshold values, a network topology selection, a route setting and other configuration parameters related to the generation and optimization of a communication route and a schedule in the radio mesh-type network. The network design tool automatically applies a set of optimization rules to a network model together with parameters inputted from the user and generates a network configuration data in a high efficiency.